package com.ruoyi.business.service;

import com.ruoyi.business.domain.TRegisterDept;
import com.ruoyi.business.vo.*;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author Tellsea
 * @date 2024/1/26
 */
public interface ITRegisterBaseService {

    TRegisterBaseVo queryByCount(TRegisterBaseVo entity);

    TableDataInfo<TRegisterBaseVo> queryByDept(TRegisterBaseVo entity);

    AjaxResult saveAudit(TAuditLogVo entity);

    void saveNotice(TRegisterNoticeVo entity) throws Exception;

    void judgeNoticeSend(TRegisterNoticeVo entity);

    String createJobNumber(TRegisterDept registerDept);

    AjaxResult saveSource(TRegisterInfoVo entity);

    AjaxResult updateNotice(TRegisterInfoVo entity);

    void exportBadge(Long[] ids);

    void exportBadgeSingle(List<TRegisterInfoVo> list, HttpServletResponse response);

    void genQrCode();

    AjaxResult saveAllocation(TRegisterAllocationVo entity);

    AjaxResult saveModify(TRegisterNoticeVo entity);

    void scoreExport(TRegisterInfoVo entity);

    AjaxResult scoreImport(MultipartFile file);

    void levelExport(TRegisterInfoVo entity);

    AjaxResult levelImport(MultipartFile file);

    void exportManual(Long[] ids);

    void exportManualPdf(Long id);

    AjaxResult saveScoreRow(TRegisterAllocationVo entity);

    AjaxResult saveLeave(TRegisterLeaveVo entity);

    AjaxResult saveLoseLeave(TRegisterLeaveVo entity);

    AjaxResult saveGraduation(TAuditLogVo entity);

    AjaxResult saveEvaluateNotice(TMessageInfoVo entity);

    void queryByCertificate(TRegisterInfoVo entity);

    void importRegisterTemplate();

    AjaxResult importRegister(MultipartFile file);

    AjaxResult batchSaveLeave(TRegisterLeaveAddVo entity);

    AjaxResult batchSaveLoseLeave(TRegisterLeaveAddVo entity);
}
